package com.zhouchj.elasticsearch.model.page;


import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ListMultimap;

import java.util.Collection;
import java.util.List;
import java.util.Map;


/**
 * @author zhouchj
 * @date 2023/7/21
 */

public class QueryPageEntity<T> extends PageEntity<T> {

    /**
     * 查询条件
     */
    private final ListMultimap<String, Tuple> condition = ArrayListMultimap.create();


    public Map<String, Collection<Tuple>> getCondition() {
        return condition.asMap();
    }

    /**
     * 在条件最前面插入一个元素
     *
     * @param key   key
     * @param tuple 元素
     */
    public void addConditionFirst(String key, Tuple tuple) {
        List<Tuple> tuples = condition.get(key);
        tuples.add(0, tuple);
    }


    /**
     * 新增查询条件
     *
     * @param name  前端展示的名字
     * @param code  传给后端的值
     * @param value 数量
     */
    public void addCondition(String conditionType, String name, String code, Integer value) {
        condition.put(conditionType, Tuple.of(name, code, value));
    }
}

